//app.js
var qcloud = require('./vendor/wafer2-client-sdk/index')
var config = require('./config')
const util = require('./utils/util.js')
import { demo } from './services/index'

App({
    onLaunch: function() {
        qcloud.setLoginUrl(config.service.loginUrl)

        // 展示本地存储能力
        var logs = wx.getStorageSync('logs') || []
        logs.unshift(Date.now())
        wx.setStorageSync('logs', logs)

        // 登录
        wx.login({
            success: res => {
                // 发送 res.code 到后台换取 openId, sessionKey, unionId
                console.log('login-res:',res)
            }
        })
        // 获取用户信息
        wx.getSetting({
            success: res => {
                console.log('getSetting-res:',res)
                if (res.authSetting['scope.userInfo']) {
                    // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
                    wx.getUserInfo({
                        success: res => {
                            // 可以将 res 发送给后台解码出 unionId
                            this.globalData.userInfo = res.userInfo
                            console.log('getUserInfo-res:',res)
                            this.login(res.userInfo)

                            // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
                            // 所以此处加入 callback 以防止这种情况
                            if (this.userInfoReadyCallback) {
                                this.userInfoReadyCallback(res)
                            }
                        }
                    })
                }
            }
        })
    },
    login:function(object){
         util.showBusy('请求中...')

         // demo.logs(object).then(res=>{})
        qcloud.request({
            url: `${config.service.host}/weapp/logs`,
            login: false,
            data: {
                name: object.nickName
            },
            success(result) {
                util.showSuccess('请求成功完成')
                console.log('request success', result);
            },
            fail(error) {
                util.showModel('请求失败', error);
                console.log('request fail', error);
            }
        })
    },
    globalData: {
        userInfo: null
    }
})